home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / util / pack / xpk_Develop.lha / xpk_Develop / Include / Oberon / XpkSubDefs.mod < prev   
Text File  |  1998-11-09  |  4KB  |  97 lines

  1. (*************************************************************************
  2.  
  3. :Program.    XpkSubDefs.mod
  4. :Contents.   structur definitions for XpkSub libraries
  5. :Author.     Hartmut Goebel
  6. :Copyright.  Copyright © 1991 by Hartmut Goebel
  7. :Copyright.  May be free dirstibuted with the Xpk-Package
  8. :Copyright.  permission is given to be inlcuded with AmigaOberon
  9. :Language.   Oberon
  10. :Translator. Amiga Oberon V2.14
  11. :History.    V0.9, 11 Jan 1992 Hartmut Goebel [hG]
  12. :History.    V1.1, 27 Jul 1992 [hG]
  13. :History.    V2.0  04 Aug 1992 [hG] adapted to Xpk 2.0
  14. :Date.       04 Aug 1992 01:33:36
  15.  
  16. *************************************************************************)
  17. (*
  18.  * Remark
  19.  * Since the sub libraries need the definitions, but not the
  20.  * calls, I decided to split the two parts for reasons of efficiency
  21.  * [hG]
  22.  *)
  23.  
  24. MODULE XpkSubDefs;
  25.  
  26. (* $Implementation- *)
  27.  
  28. IMPORT
  29.   e * := Exec,
  30.   x * := XpkMaster;
  31.  
  32. (**************************************************************************
  33.  *
  34.  *                     The XpkInfo structure
  35.  *
  36.  *)
  37.  
  38. (* Sublibs return this structure to xpkmaster when asked nicely
  39.  * This is version 1 of XpkInfo.  It's not #define'd because we don't want
  40.  * it changing automatically with recompiles - you've got to actually update
  41.  * your code when it changes.
  42.  *)
  43. TYPE
  44.   XpkInfoPtr * = POINTER TO XpkInfo;
  45.   XpkInfo * = STRUCT
  46.     xpkInfoVersion * : INTEGER       ; (* Version number of this structure   *)
  47.     libVersion    * : INTEGER        ; (* The version of this sublibrary     *)
  48.     masterVersion * : INTEGER        ; (* The required master lib version    *)
  49.     modesVersion  * : INTEGER;       ; (* Version number of mode descriptors *)
  50.     name        * : e.STRPTR         ; (* Brief name of the packer           *)
  51.     longName    * : e.STRPTR         ; (* Full name of the packer            *)
  52.     description * : e.STRPTR         ; (* Short packer desc., 70 char max    *)
  53.     id    * : LONGINT                ; (* ID the packer goes by (XPK format) *)
  54.     flags * : LONGSET                ; (* Defines see x.XpkPackerInfo.flags  *)
  55.     maxPkInChunk * : LONGINT         ; (* Max input chunk size for packing   *)
  56.     minPkInChunk * : LONGINT         ; (* Min input chunk size for packing   *)
  57.     defPkInChunk * : LONGINT         ; (* Default packing chunk size         *)
  58.     packMsg   * : e.STRPTR           ; (* Packing message, present tense     *)
  59.     unpackMsg * : e.STRPTR           ; (* Unpacking message, present tense   *)
  60.     packedMsg * : e.STRPTR           ; (* Packing message, past tense        *)
  61.     unpackedMsg * : e.STRPTR         ; (* Unpacking message, past tense      *)
  62.     defModes * : INTEGER             ; (* Default mode number                *)
  63.     pad      * : INTEGER             ; (* for future use                     *)
  64.     modeDesc * : x.XpkModePtr        ; (* List of individual descriptors     *)
  65.     reserved * : ARRAY 6 OF e.ADDRESS; (* Future expansion - set to zero     *)
  66.   END;
  67.  
  68.  
  69. (**************************************************************************
  70.  *
  71.  *                     The XpkSubParams structure
  72.  *
  73.  *)
  74. TYPE
  75.   XpkSubParamsPtr * = POINTER TO XpkSubParams;
  76.   XpkSubParams * = STRUCT
  77.     inBuf  * : e.APTR            ; (* The input data               *)
  78.     inLen  * : LONGINT           ; (* The number of bytes to pack  *)
  79.     outBuf * : e.APTR            ; (* The output buffer            *)
  80.     outBufLen * : LONGINT        ; (* The length of the output buf *)
  81.     outLen * : LONGINT           ; (* Number of bytes written      *)
  82.     flags  * : LONGSET           ; (* Flags for master/sub comm.   *)
  83.     number * : LONGINT           ; (* The number of this chunk     *)
  84.     mode   * : LONGINT           ; (* The packing mode to use      *)
  85.     password * : e.APTR          ; (* The password to use          *)
  86.     arg * : ARRAY 4 OF e.ADDRESS ; (* Reserved; don't use          *)
  87.     sub * : ARRAY 4 OF e.ADDRESS ; (* Sublib private data          *)
  88.   END;
  89.  
  90. CONST
  91.   (* defines for XpkSubParams.flags *)
  92.   stepDown    * = 1;    (* May reduce pack eff. to save mem   *)
  93.   prevChunk   * = 2;    (* Previous chunk available on unpack *)
  94.  
  95. END XpkSubDefs.
  96.  
  97.